﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

//This class is to be implemented as the control object
//  4 points of a control object
//  a         b
//  ***********
//  *         *
//  *         *
//  ***********
//  d         c
namespace ProtoImaginer.ProtoControl
{
    public class Control
    {
        private Point a;
        private Point b;
        private Point c;
        private Point d;
        private Page residingPage;
        private Page linkToPage;
        private int status;
        private DateTime createDate;
        private DateTime lastModifiedDate;

        public Control() { }
        public Control(Page residingPage)
        {
            this.residingPage = residingPage;
            a = new Point();
            b = new Point();
            c = new Point();
            d = new Point();
            createDate = DateTime.Now;
            lastModifiedDate = DateTime.Now;
            status = (int)GlobalVariables.controlStatus.Independent;
        }

        public Point A_pt
        {
            get { return a; }
            set { a = value; }
        }

        public Point B_pt
        {
            get { return b; }
            set { b = value; }
        }

        public Point C_pt
        {
            get { return c; }
            set { c = value; }
        }

        public Point D_pt
        {
            get { return d; }
            set { d = value; }
        }

        public DateTime CreateDate
        {
            get { return createDate; }
            set { createDate = value; }
        }

        public DateTime LastModifiedDate
        {
            get { return lastModifiedDate; }
            set { lastModifiedDate = DateTime.Now; }
        }

        public int Status
        {
            get { return status; }
            set { status = value; }
        }

        public Page ResidingPage
        {
            get { return residingPage; }
            set { residingPage = value; }
        }

        public Page LinkToPage
        {
            get { return linkToPage; }
            set { linkToPage = value; }
        }

        protected void dragControl()
        {

        }

        protected void resizeControl()
        {

        }
    }
}
